The invention relates to the fields of communications and navigation systems. More particularly, the present invention relates to communication systems coupled to inertial navigation systems for improved signal tracking.
With the increasing dependency on the Global Positioning System (GPS) for military and civilian navigation systems, it is important that the navigation receiver be able to withstand intentional or unintentional signal interference with robust signal acquisition and tracking. For this reason, inertial navigation systems have been coupled to GPS signal tracking and acquisition system for improved signal tracking and acquisition of the received signal. Inertial navigation systems (INS) have an inertial measurement unit (IMU) for processing inertial measurements. Coupling navigation data with the GPS signal tracking and acquisition system improves signal tracking and acquisition. When the inertial measurements of a navigation processor are used with a GPS signal tracking and acquisition system, the combined system is said to be tightly coupled. The tightly coupled GPS and INS method uses pseudorange and pseudorange rate measurements from the GPS receiver instead of the processed position and velocity measurements. In addition, inertial measurement unit data is usually used to assist the receiver tracking loops and enable more noise filtering than would be possible without tracking loop aiding. The tightly coupled method has been used with the pseudorange and pseudorange rate measurements. The receiver measurements are not the raw receiver correlator samples, but the product of aided or unaided receiver tracking loops and are subject to performance limitations.
A loosely coupled GPS and INS method has an integration Kalman filter used to process GPS position and velocity measurements to aid the inertial navigation system. In a loosely coupled method, no information from the inertial navigation system is used to assist the tracking loops in the GPS receiver. The GPS receiver is unaided when the tracking loops must operate independently of the inertial navigation system. The loosely coupled method is easily jammed and has poor noise filtering.
A tracking loop is a combination of electronic hardware and software algorithms used to track a pseudorandom noise (PRN) code signal and its carrier. A tracking loop that tracks the PRN code is called the Code Loop and one that tracks the carrier is called the Carrier Loop. The Carrier Loop can track the phase or the frequency of the carrier or a combination of both. A tracking loop design is adjusted to each application by designing the closed loop gains and the order of the filter to obtain the desired filtering and dynamic response. A code tracking loop functions by driving the code phase of a replica signal to be aligned with the received signal so as to enable coherent demodulation of the received signal. The tracking loops include a signal generator that generates an estimated replica signal of the received signal using a control signal that advances or retards in time the replica signal relative to the received signal, includes a correlator that multiplies the received signal by the replica signal and passes the multiplied signal result through a low pass filter, includes discriminator generator that generates a discriminator signal having a value related to the difference between the received signal and the replica signal, and includes a controller that filters the discriminating signal into the control signal that is then communicated to the signal generator.
A fundamental function in all GPS receivers built to date is the ability of the receiver to generate a replica signal of the received signal transmitted by a satellite that can be correlated with the received signal being received from the satellite. The replica signal is advanced or retarded until the receiver-generated replica signal correlates with the received one. Traditionally, this process is performed by code and carrier tracking loops that determine an error signal, which is a measure of the range and range rate difference between the generated and received signals. That difference between the received and replica signal is an error signal that is processed by a transfer function for generating input values communicated to a numerically controlled oscillator to advance or retard the generated replica signal. When the replica signal correlates with the received one, the tracking loop is said to be in lock and the feedback error signal is near zero. In this condition, the state of the code and carrier generation process can be sampled to obtain a measure of the pseudorange and pseudorange rate. The pseudorange is the geometric range between the transmit antenna and receive antenna plus a bias due to the user clock error. The pseudorange rate is approximated by the amount of range change for a predetermined amount of time plus a bias due to the drift of the user""s oscillator frequency.
The pseudorange measurements are derived from an instantaneous sampling of the state of the code generator at a desired measurement epoch time. The pseudorange rate measurement is obtained by strobing the carrier loop twice over a small period of time and is a measure of a discrete change in pseudorange over a discrete period of time, determined from the carrier phase change. In the limit as the time interval goes to zero, the ratio of the delta pseudorange divided by delta time approaches the instantaneous time rate of change of the pseudorange, which rate of change is the pseudorange rate.
The tracking loops that track the incoming satellite received signal must adjust the phase and the frequency of the generated replica signal for many changing variables, such as user and satellite relative motion and user clock drifts. These tracking loops are traditionally called the code loop and the carrier loop, because the code loop tracks the phase of the pseudorandom noise (PRN) code and the carrier loop tracks the signal carrier frequency and the carrier phase. Although a phase-locked loop is the most common way to track a carrier signal, the GPS signals have a fifty hertz navigation data message superimposed on the code generation process, which can potentially change the phase of the signal by 180o every twenty milliseconds. To avoid a loss of lock when this occurs, a Costas tracking loop is used in place of the conventional phase lock loop. This allows the carrier to be tracked across 50 Hz data bit changes with no loss of lock. Frequency lock loops are also used for the carrier tracking and sometimes are used in combination with phase lock loops to improve robustness.
The design of tracking loop transfer functions is compromised to meet two conflicting requirements. On one hand, it is desired to have a low bandwidth of the tracking loop to filter out as much noise as possible. On the other hand, if the tracking loop is too sluggish because of a low operating bandwidth, the tracking loop cannot track the dynamics of the relative motion often caused by vehicular acceleration. Inertial aiding applies to the use of data from an IMU to assist the tracking loops or the extrapolation of the user""s position and velocity. When inertial aiding is used in the context of tracking loops, the relative motion between the satellite""s antenna and the user""s antenna can be predicted to a certain accuracy based on the IMU measurements and the position and velocity of a satellite evaluated from the ephemeris data. A reduction of the bandwidth of the tracking loop is possible with inertial aiding because the loop need only track the errors in the aiding information as opposed to the absolute motion. A narrower bandwidth has the advantage of filtering out more noise from the loop during tracking.
GPS sets with IMU aiding, including those with communication receivers and navigation processors, must use a large enough tracking loop bandwidth to accommodate the dynamics of the relative vehicular motion and tolerate the associated reduced noise filtering of the tracking loop. The IMU aided GPS sets are able to use narrower bandwidth tracking loops with more noise filtering. The IMU aided GPS sets use known user""s relative motion through measurements from the IMU and the satellite position and velocity data evaluated from the ephemerides to compute the line-of-sight rate between the user""s antenna and the GPS satellite for providing rate data to aid the tracking loop. This allows the tracking loop gains to be reduced to a lower bandwidth so that the tracking loop only tracks the errors relative to the nominal motion provided by the IMU, user clock and ephemeris information. When a tracking loop operation is aided by IMU measurement, the tracking loop is said to be tightly coupled with the IMU.
Even with IMU tight coupling, and with the lower tracking loop bandwidth, the tracking loop must maintain lock on the signal by driving the internally generated replica signal to correlate with the received satellite signal. In a tightly coupled tracking loop, the aiding IMU information is used as reference motion, but the tracking loops must still use code and carrier phase error signals in a feedback loop to drive the internally generated replica signal to match the incoming satellite received signal. If the tracking loop fails to drive the error signal to zero, the amount of error that remains uncorrected is a measurement error that is fed into the navigation-processing algorithm as an unmodeled pseudorange and pseudorange rate measurement error. This time-correlated unmodeled pseudorange and pseudorange rate measurement error limits the allowable update rate of the navigation Kalman filter, because the assumption made in the Kalman filter processing is that the measurement errors are uncorrelated in time. This update rate limitation has traditionally limited the allowable processing rate of GPS measurements from an aided tracking loop to about one hertz. Although tracking loops use all of the data over the one-second interval to maintain lock, only the recent data prior to the measurement time is actually used to generate the pseudorange and pseudorange rate measurements. Most of the available inphase (I) and quadrature (Q) correlation output measurement data over the one-second interval is essentially used to keep the tracking loop in lock, but all of this I and Q information is not necessarily used to improve the pseudorange and pseudorange rate measurement accuracy due to the fading memory of the tracking loop having a lower but limited bandwidth.
If the tracking loop error builds beyond a certain threshold value, the loop is deemed to be out of lock and pseudorange and pseudorange rate measurements are not made until the loop reacquires lock. This out of lock condition is due to the nonlinearity of the correlation process and the use of linear loop designs that are only valid for small error conditions. If the loop loses lock, the received signal must then be reacquired. The reacquisition search process requires higher received signal strength than the tracking process, so when there is a marginal signal-to-noise situation for tracking, the loop may never reacquire lock.
A GPS receiver has multiple channels, one for each satellite tracked. Each GPS channel has a respective code tracking loop and carrier tracking loop that operates independently of each other. Hence, one tracking loop may lose lock due to a low signal-to-noise ratio even though other GPS channels are being normally tracked. The information from the other good channels is not used in the inoperative channel that may be out of lock due to a marginal signal to noise ratio that is insufficient to maintain lock.
The traditional tracking loop approach determines the code phase measurement independently of the carrier phase measurement and determines the pseudorange and pseudorange rate measurements independently on each of the two L1 and L2 GPS frequencies. Each of these four measurements is independently computed. Yet these measurements are not independent because these measurements are received by only one antenna. These measurements have not been processed dependently to provide enhanced measurement accuracy and robustness that can more readily overcome interference when used collectively.
Advanced tracking loop designs have been proposed to alleviate some of the loss of lock and reacquisition problems by tightly coupling IMU data with the carrier and code tracking loops. Prior tightly coupled systems are limited by the use of Costas carrier loops for determining twenty-millisecond bit boundary data without required a priori knowledge of the data bits. Conventional tracking loops require this data bit boundary knowledge in real time to support the correlation process. Some systems have been proposed for operating a Kalman filter at a much higher rate so that the Kalman filter is considered a part of the tracking loops. These approaches suffer from the requirement for huge processor throughput because the Kalman filter, that may have twenty or more state variables, must operate at several tens of Hertz.
With unlimited integration Kalman filter processor throughput, the integration Kalman filter could be operated at extremely high rates with no loss of optimality due to time correlated tracking loop errors. This high rate operation is similar to what has been called a vector delay lock loop. A vector delay lock loop is a method to track all satellites in view simultaneously with one common algorithm. The vector delay lock loop broadens the normal aided and unaided tracking loop design approach to both code and carrier tracking on all in-view satellites. The entire algorithm must run at very high processing rates because there is no provision for federated processing.
Unfortunately, current processor throughput cannot support Kalman filter rates of several tens of Hertz with the large state vectors required for GPS inertial navigation. Large Kalman filters may be decomposed into one or more federated Kalman filters within a Kalman filter processing architecture. For example, a large Kalman filter can be decomposed into two partitions including a large integration Kalman filter and a high-rate optimal prefilter that are more compatible with modern processing speed requirements. The fundamental principle is to decompose the complete formulation into suitable partitions such that the important bandwidths and models are appropriate for each partition. In IMU aided GPS sets designed to date, large integration Kalman filters have not been decomposed into suitable partitions to allow optimal processing of the raw GPS samples with the IMU samples.
In traditional tracking loops, there is the possibility that the errors in the loops are time correlated because there is a delay in the loops as the loops drive the error signal to zero. Depending on the order of the tracking loop, there may actually be a steady state tracking error when the order of the dynamic motion exceeds the order of the tracking loop. This is commonly called the dynamic stress error. Even with inertial aiding to the tracking loop, the tracking error can be time correlated because of time-correlated errors in the aiding data. This possibility has limited tracking performance because the tracking loop measurement errors can manifest themselves as errors in the state vector after processing, which in turn can affect future aiding data and possibly cause the IMU navigation and GPS tracking system to generate a wrong but consistent navigation solution. With normal tracking loops, the GPS measurements used by the Kalman filter are deliberately spaced out in time to avoid the unwanted temporal correlations of the tracking loops.
In conventional tracking loops, the measurement noise variance used by the Kalman filter is usually estimated from the tracking state and the carrier-to-noise ratio. There is no guarantee that these values are consistent with the actually realized measurement errors. Hence, a large integration Kalman filter may process measurements with an erroneous uncertainty variance of the measurement noise. In conventional tracking loops, the measurement of pseudorange acceleration is not considered because there is no apparent way to obtain a low-noise estimate of the pseudorange acceleration from the tracking loops. Conventional tracking loops do not have an ability to determine the pseudorange acceleration. The use of a pseudorange acceleration measurement has many potential benefits in the observability of user clock and IMU error instability. With a pseudorange acceleration measurement, there is a more direct measurement of higher order errors with increased observability. Normally, these errors are observed through dynamic coupling into pseudorange and pseudorange rate measurements. Hence, without the pseudorange acceleration measurements, the observability of clock and IMU instabilities is limited. This limitation can be reduced using highly accurate user clocks and inertial measuring units.
In traditional receivers, the integrate-and-dump process is limited to twenty-milliseconds due to the potential change of a data bit in the navigation message. A technique called data stripping is used to integrate for longer periods of time by using a priori knowledge of the data bit values. A large percentage of the future data bit values is predictable once it is collected, especially with prior knowledge of the data to be uploaded to the satellites. Although data stripping has been demonstrated to work, the results have been somewhat disappointing relative to predicted improvements and the logistics of determining the future navigation data message is cumbersome. These and other disadvantages are solved or reduced using the present invention.
An object of the invention is to provide a tracking method of received Global Positioning System (GPS) signals using a correlation process that is driven by the best estimate of the navigation state vector based on inertial measurement unit samples from an inertial navigation system (INS) and GPS ephemeris data from a GPS satellite to generate replica signals for correlation with the received signals for determining pseudorange and pseudorange rate residual errors that in turn are used to update the navigation state vector for the next major cycle that generates the replica signal for the next major cycle.
Yet another object of the invention is to provide a tracking method of received GPS signals using a correlation process that is driven by the best estimate of the navigation state vector based on inertial measurement unit samples and GPS ephemeris data to generate replica signals for correlation with the received signals for determining pseudorange and pseudorange rate residual errors that in turn are used to update the navigation state vector for the next major cycle that generates the replica signal for the next major cycle using a federation of Kalman filters, with a first residual Kalman prefilter sampling the correlator output signals and providing pseudorange and pseudorange rate error data to a second integration Kalman filter receiving pseudorange and pseudorange rate error data for computing navigation errors for updating the navigation solution for modifying the replica signals to reduce the errors in the navigation state vector and in the future replica signal for the next major cycle.
The ultratight method is a coupled GPS and INS processing method that drives signal generators for each satellite channel using information from the current best estimate of the navigation state vector and satellite position and velocity predicted from the satellite ephemerides. The best estimate of the navigation state vector is based on the previous major cycle of an integration Kalman filter, usually operating at one Hertz, and the IMU samples since a previous major cycle update. The navigation state vector contains best estimates of user position, velocity, attitude, receiver clock errors as well as calibration coefficients for the IMU. In the ultra-tight method, the quadrature I and Q samples from a correlator are sent to a Kalman prefilter that processes the samples at a high rate for generating residual errors sent to a lower rate integration Kalman filter. This federation of Kalman filters partitions processor throughput and provides more realistic modeling for estimating the error state vector based on the dual frequency code and carrier I and Q sampling. The ultratight method enables batch processing of the raw I and Q GPS samples in the Kalman prefilter to enable sophisticated algorithms to be used to for data bit estimation and multipath detection and mitigation, because prefilters relax the real time requirements of the integration Kalman filter.
The ultratight coupling method uses federated Kalman filtering as an equivalent operation in place of a single high-speed Kalman filter used as an element in a closed-loop GPS and IMU mechanization. The method decomposes a large optimal high-speed Kalman filter into one or more residual Kalman prefilters and at least one large integration Kalman filter that synergistically function together as part of a closed loop that accomplishes the same functionality as the large optimal Kalman filter. Using this method, the integration Kalman filter that integrates the GPS measurements with the IMU measurements can operate at modest rates, typically around one hertz, over the major cycle. The residual Kalman prefilter samples correlator output signals at fifty hertz over the major cycle time to provide error estimate data for the integration filter at one hertz from the accumulated samples over the major cycle period. The limiting factor that determines how fast or slow the integration Kalman filter can operate is now based primarily on the stability of the error sources in the user""s crystal oscillator clock and the inertial measurement unit (IMU). IMU measurements, time propagation using the user""s oscillator and satellite ephemerides, all of which are not vulnerable to jamming, are used to drive the correlation process for replica signal generation, providing high jamming tolerance. Integrated code and carrier measurements are processed for multiple frequencies, including the global positioning system (GPS) L1 and L2 carrier frequencies. Accurate measurement variance determinations by the Kalman prefilter are based on actual measurement residuals from the correlator outputs, namely inphase (I) and quadrature (Q) samples of the received signal from the GPS satellites in view. Rapid convergence of the integration Kalman is now possible due to the availability of pseudorange acceleration measurements. Ionospheric propagation delays in the form of total electron content (TEC) are properly modeled in the navigation prefilter solution, which increases the accuracy of the navigation solution.
The high rate I and Q samples are used to generate low rate pseudorange and TEC residuals in a Kalman prefilter. The Kalman prefilter uses all measurement I and Q samples from all in-view GPS satellites between integration Kalman filter epochs to compress that sampled information into summary measurement residuals that are provided to the large integration Kalman filter during each major cycle. Because the compression process does not rely upon conventional tracking loops that would otherwise incur time correlation errors, all the sampled data can be compressed without incurring temporal unmodeled correlation errors, and all I and Q sampled data is used by the Kalman prefilter during the major cycle to provide accurate low-rate residuals at the end of the major cycle. The Kalman prefilter functions synergistically with the correlation process. The output of the Kalman prefilter is actually a measurement residual error vector needed by the integration filter based on the errors in the code and carrier replica signals fed to correlators, rather than an absolute measurement of pseudorange or pseudorange rate. Hence, the Kalman prefilter formulation is based on the temporal buildup of GPS observation errors that result from the integration of the accelerometers and gyros, using the best estimate of the navigation state vector from the previous major cycle of the integration Kalman filter epoch, including the best estimate of the inertial instrument calibration errors. The integration Kalman filter uses this best estimate of predicted navigation state vector to generate high-rate samples of the predicted pseudorange and the pseudorange rate for the major cycle of the integration Kalman filter. This predicted pseudorange and pseudorange rate information, in conjunction with the satellite ephemerides and inertial measurement data, is used to generate and update the code and carrier replica signals used in the correlation process for improved tracking robustness and accuracy. This correlation process compares the incoming signal to the code and carrier replica signals and generates I and Q sampled outputs using an integrate-and-dump process in the correlator. The I and Q samples are measures of the errors between the correlated received and replica signals. All of the Is and Qs over the major cycle are used to estimate a vector of errors in pseudorange, pseudorange rate and pseudorange acceleration, which are evaluated at the end of the major cycle. The pseudorange, pseudorange rate and pseudorange acceleration errors are data elements of the measurement residual vector needed by the integration Kalman filter at the next measurement epoch. The residual Kalman prefilter essentially collapses m I and Q samples over the major cycle into a 3N measurement residual vector, where m is the number of integrate-and-dump intervals in a major cycle and N is the number of satellites in view. For each of the N satellites being tracked, there is an associated correlator, residual Kalman prefilter, code generator, code clock NCO, carrier NCO, pseudorange and rate calculator, satellite position velocity calculator, ephemeris demodulator, for respectively processing GPS sampled received signals. The three measurement residuals are generated for each satellite in view, namely pseudorange, pseudorange rate and pseudorange acceleration. In addition, the residual Kalman prefilter generates a measurement covariance matrix M for each satellite for use by the large integration Kalman filter. The covariance matrix is a 3xc3x973 matrix and is computed from the a posteriori covariance matrix and adjusted to be consistent with the actual measurement innovations from the Kalman prefilter.
The primary advantage of the ultratight method is the inherent robustness in the presence of intentional jamming or unintentional interference. A second advantage is that method offers improved tracking and more accurate navigation solution computation. Whereas conventional tracking loops are subject to the loss of lock and operate independently from each other, the ultratight method directly computes the measurement residual for the integration Kalman filter based on all integrate-and-dump I and Q samples from the correlators for multiple respective satellites. Very accurate pseudorange and pseudorange rate predictions based on the best estimate of the navigation state vector are used to generate the replica signals. Consequently, the ultratight method does not easily lose lock on the satellite signals because the ultratight method continuously correlates received and replica signals over the entire integration Kalman cycle for all satellites in view. When one received signal from a satellite is corrupted by substantial interference, the other received signals continue to be correlated with their respective replica signals so that the correlation process and the navigation updating continues on all received signals without disruption. The prefilter processing continues to make optimal use of any available IMU data, GPS ephemeris data, and correlator measurements, independent of any loss of lock. When a given satellite""s received signal is jammed for an entire major cycle, the resulting measurements will have a measurably large variance that can be deweighted by the integration Kalman filter through the associated prefilter measurement covariance matrix. The correlation process continues to operate on all satellite signals using the accurate respective replica signals generated by the best estimate of navigation state, which is in turn determined from all received signals from the other GPS satellites, from GPS ephemeris data for the other GPS satellites and from the integrated accelerometer and gyro IMU measurements.
The compressed measurement residual vector generated by the residual Kalman prefilter has a reduced measurement variance relative to each individual sample because the residual vector is prefiltered using all I and Q correlator output samples over the entire major cycle of the integration Kalman filter. The Kalman prefilter provides equal weight to all sampled I and Q data in the interval between Kalman cycles without the fading memory limitation upon the reduction of the measurement errors associated with conventional tracking loops. Because the I and Q sampled data between major cycles is essentially processed in a batch, the measurement variance sent to the integration filter can be empirically determined from the prefilter innovations relative to the best predicted estimate of the navigation solution, pseudorange and pseudorange rate data. The process model for the Kalman prefilter can be a quadratic function of time, because the Kalman prefilter is driven by the extrapolation of errors in the state vector that is a function of the IMU and user clock errors. Over a major cycle of the integration Kalman filter, the error buildup should not have a higher order behavior than a quadratic function of time, because the error buildup is the result of initial position and velocity estimate errors, IMU calibration errors and user clock errors, all of which are second order effects or lower.
Another advantage of the ultratight method is the relaxed requirement for real-time processing in the Kalman prefilter. Whereas traditional tracking loops require real time operation, which severely limits the processing possibilities, the Kalman prefilter can operate near real time. That is, the Kalman prefilter can collect all the I and Q sampled data for a major cycle and process this sample data during the next major cycle thereby enabling advanced signal processing algorithms to be employed. For example, the I and Q data can be sampled and processed after its collection to estimate the fifty-hertz GPS navigation message data bit values. Normally, without prior knowledge of the navigation message data that is modulated on the GPS signals, a receiver integrate-and-dump correlation process is limited to twenty-milliseconds because the polarity of the data bits is not known in advance in order to properly generate the replica signal. This twenty-milliseconds time limit also limits the ability of conventional tracking loops to maintain signal lock during interference and low signal-to-noise environments because the amount of coherent data to process is bounded. If coherent integration could be performed across the twenty-millisecond boundary, longer spans of data could be processed and higher jamming immunity could be attained. With near real time processing, the computation of the pseudorange and pseudorange rate errors can be deferred to subsequent time epochs such as a later fifty hertz epoch or even the next major cycle. Hence, at a data bit boundary, the integrate-and-dump correlation process can temporarily continue using both possible data bit polarities for the replica signal generation while the GPS data bit polarities are determined at a later time. Once the data bits are determined, the accumulated correlator output data for the correct data bit choice can be coherently concatenated with the previous data bit period as if it were known at its time of validity. The data from the incorrect choice is discarded. The net result of the accumulated sum from the total integrate-and-dump process is a coherent integration across a twenty-millisecond data bit boundary, which will also yield higher anti-jam and interference suppression. These and other advantages will become more apparent from the following detailed description of the preferred embodiment.